home *** CD-ROM | disk | FTP | other *** search
/ PC Play 129 / pc play 129.iso / Demo / man2 / man2.exe / data / scripts / base_shot_fly.lua < prev    next >
Encoding:
Text File  |  2007-01-25  |  4.4 KB  |  168 lines

  1.  
  2. function base_shot_fly1()
  3.     local explosion = uniGetExecutor()
  4.     explosion:setTransformOwner()
  5.     local mshot1 = explosion:addSimpleEffect(ENET_EFFECT_SP_BASESHOT_FLY)
  6.     local shotlight = explosion:addSimpleEffect(ENET_EFFECT_BASE_LIGHTSPOT)
  7.     
  8.  
  9.     --waitDeath(explosion:addMoveEffect(ENET_EFFECT_MOVE_LINEARFLY,250,uniGetTarget()),500)
  10.     waitDeath(explosion:forwardFly(uniGetTarget(),150))
  11.     uniGetTarget():executeCommand(ENC_DAMAGED)
  12.     shotlight:destroy()
  13.     mshot1:destroy()
  14.     local exp_ps = explosion:addSimpleEffect(ENET_EFFECT_PS_BASESHOT_EXPLOSION)
  15.     exp_ps:suspendedDestroy(2.5)
  16.     pause(1.5)
  17.     explosion:destroy()
  18. end
  19.  
  20. registerCommand(ENSCRIPTSET_BASESHOT,ENC_FIRE1,"base_shot_fly1")
  21.  
  22. --
  23. -- dummy effect creation test
  24. --
  25. desc = getEffectDescriptionP(ENET_EFFECT_BASESHOT_FLY)
  26. desc.ClassID = ENCLASS_DUMMY
  27. desc.EffectClassType = ENECT_GEOMETRY
  28.  
  29. desc.ScriptSet = ENSCRIPTSET_BASESHOT
  30. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  31. desc.LocalPosition = D3DXVECTOR3:new(0,0,0)
  32.  
  33. desc.MoveType = ENMOVE_FLY
  34.  
  35. desc.ActivityType = ENACT_COMMANDSEMIACTIVE
  36. --
  37. -- end dummy effect creation test
  38. --
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45. --
  46. -- lightsource creation test
  47. --
  48. desc = getEffectDescriptionP(ENET_EFFECT_BASE_LIGHTSPOT)
  49. desc.ClassID = ENCLASS_LIGHTSOURCE
  50. desc.EffectClassType = ENECT_LIGHTSOURCE
  51.  
  52. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  53. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  54. desc.LocalPosition = D3DXVECTOR3:new(0,0,0)
  55.  
  56. desc.ActivityType = ENACT_SEMIACTIVE
  57.  
  58. -- add interpolators
  59. desc:clearInterpolators()
  60.  
  61. local interpolator = createInterpolator()
  62. interpolator:addKey(0.0,70.0)
  63. interpolator:addKey(10.0,70.0)
  64. interpolator:finalize(false)
  65. -- add interpolator on light range
  66. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_LIGHT_RANGE))
  67.  
  68. local interpolator = createInterpolator()
  69. interpolator:addKey(0.0,0.0)
  70. interpolator:addKey(0.1,0.6)
  71. interpolator:addKey(0.5,0.0)
  72. interpolator:finalize(false)
  73. -- add interpolator on  G colors
  74. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_G))
  75.  
  76. local interpolator = createInterpolator()
  77. interpolator:addKey(0.0,0.0)
  78. interpolator:addKey(0.1,0.6)
  79. interpolator:addKey(0.5,0.0)
  80. interpolator:finalize(false)
  81. -- add interpolator on R G colors
  82. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_R))
  83.  
  84. local interpolator = createInterpolator()
  85. interpolator:addKey(0.0,0.0)
  86. interpolator:addKey(0.1,0.6)
  87. interpolator:addKey(0.5,0.0)
  88. interpolator:finalize(false)
  89. -- add interpolator on B colors
  90. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_B))
  91.  
  92.  
  93. --
  94. -- end lightsource creation description
  95. --
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108. --
  109. -- oriented sprite with interpolator
  110. --
  111. desc = getEffectDescriptionP(ENET_EFFECT_SP_BASESHOT_FLY)
  112.  
  113. desc.ClassID = ENCLASS_ORIENTEDSPRITE
  114. desc.EffectClassType = ENECT_ORIENTEDSPRITE
  115.  
  116. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  117. desc.FileName = "dot_alien_effect_firetrace.dds"
  118. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  119. desc.LocalPosition = D3DXVECTOR3:new(0,0,0)
  120. desc.isAnimateTexture = false
  121.  
  122. desc.Material = ENMAT_PARTICLE_LIGHT
  123. desc.MaterialColors.Ambient.r = 0
  124. desc.MaterialColors.Ambient.g = 0
  125. desc.MaterialColors.Ambient.b = 0
  126. desc.MaterialColors.Ambient.a = 1
  127. desc.MaterialColors.Diffuse.r = 0
  128. desc.MaterialColors.Diffuse.g = 0
  129. desc.MaterialColors.Diffuse.b = 0
  130. desc.MaterialColors.Diffuse.a = 1
  131. desc.MaterialColors.Emissive.r = 0.3
  132. desc.MaterialColors.Emissive.g = 0.5
  133. desc.MaterialColors.Emissive.b = 1
  134. desc.MaterialColors.Emissive.a = 1
  135. desc.RenderType = ENRENDERTYPE_GEOMETRY
  136.  
  137. spdesc = desc.OrientedSprite
  138. spdesc.SpriteType = EN3DSPRITE_ORIENTED
  139. spdesc.xsize = 8
  140. spdesc.ysize = 64
  141. spdesc.OrientAxis = D3DXVECTOR3:new(0,0,1)
  142. spdesc.BindAxis = D3DXVECTOR3:new(1,0,0)
  143. spdesc.Centering = ENCENTERING_CENTER
  144. spdesc.IsTargetted = false
  145. spdesc.TargetRelativePosition = ENLOCALPOS_NOTSPECIFIED
  146. spdesc.IsAxisInLocalSpace = true
  147.  
  148. interpolator = createInterpolator()
  149. interpolator:addKey(0.0,0.0)
  150. interpolator:addKey(0.05,1.0)
  151. interpolator:addKey(0.3,0.0)
  152. interpolator:finalize(false)
  153. -- add interpolator on X scale
  154. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_X))
  155.  
  156. interpolator = createInterpolator()
  157. interpolator:addKey(0.0,0.0)
  158. interpolator:addKey(0.05,1.0)
  159. interpolator:addKey(0.3,0.0)
  160. interpolator:finalize(false)
  161. -- add interpolator on Y scale
  162. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_Y))
  163.  
  164.  
  165. --
  166. -- end sprite creation description
  167. --
  168.